import {message} from 'antd';
import {formatMessage} from './intl';
import {isEmptyOrNull} from './utils';

export const newOrUpdateOrderValidator = data => {
    //增加判断必填字段
    const emptyErrors = [];
    if(!data || !data.brandId)
        emptyErrors.push(formatMessage({
            id: 'validator.empty.brandId',
            defaultMessage: '品牌'
        }));
    if(emptyErrors.length > 0) {
        message.warning(`${emptyErrors.join('，')}${formatMessage({
            id: 'validator.required',
            defaultMessage: '必填！'
        })}`);
        return false;
    }
    return true;
};

export const addOrUpdateValidator = condition => {
    if(!condition || condition.length === 0) {
        message.warn(
            formatMessage({
                id: 'validate.partOrderPlan.detailIsNotNullFieldRequired',
                defaultMessage: '备件需求计划清单列表不能为空'
            })
        );
        return false;
    }
    if(
        condition.some(
            item =>
                isEmptyOrNull(item.partCode)
        )
    ) {
        message.warn(
            formatMessage({
                id: 'validate.partOrderPlan.detailFieldRequired',
                defaultMessage: '存在备件需求计划单清单的必填项为空'
            })
        );
        return false;
    }
    if(
        condition.some(
            item =>
                item.n1Quantity === 0 &&
                item.n2Quantity === 0 &&
                item.n3Quantity === 0
        )
    ) {
        message.warn(
            formatMessage({
                id: 'validate.partOrderPlan.detailQuantity',
                defaultMessage: 'N+1、N+2、N+3的订购数量不能全部为0'
            })
        );
        return false;
    }
    if(condition.some(item =>
        (item.n1Quantity > 0 && item.n1Quantity % item.minPackSize > 0) ||
        (item.n2Quantity > 0 && item.n2Quantity % item.minPackSize > 0) ||
        (item.n3Quantity > 0 && item.n3Quantity % item.minPackSize > 0)
    )) {
        message.warn(
            formatMessage({
                id: 'validate.partOrderPlan.detail',
                defaultMessage: '备件订购数量必须是最小包装数的整数倍'
            })
        );
        return false;
    }
    return true;
};
export const approveValidator = data => {
    //增加判断必填字段
    const emptyErrors = [];
    if(!data || !data.approvedContent)
        emptyErrors.push(formatMessage({
            id: 'validator.empty.approvedContent',
            defaultMessage: '审核意见'
        }));
    if(data && data.approvedContent && data.approvedContent.length > 200) {
        message.warning(`${emptyErrors.join('，')}${formatMessage({
            id: 'validator.required.approvedContent',
            defaultMessage: '审核意见长度已超过200字符，不能保存！'
        })}`);
        return false;
    }
    if(emptyErrors.length > 0) {
        message.warning(`${emptyErrors.join('，')}${formatMessage({
            id: 'validator.required',
            defaultMessage: '必填！'
        })}`);
        return false;
    }
    return true;
};
